home *** CD-ROM | disk | FTP | other *** search
/ Motor Sport Digital Archive Collection 1960s / Motor Sport Digital Archive Collection 1960s.iso / main.swf / scripts / mx / containers / Canvas.as < prev    next >
Encoding:
Text File  |  2008-05-21  |  3.3 KB  |  112 lines

  1. package mx.containers
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.geom.Rectangle;
  5.    import mx.containers.utilityClasses.CanvasLayout;
  6.    import mx.core.Container;
  7.    import mx.core.EdgeMetrics;
  8.    import mx.core.IUIComponent;
  9.    import mx.core.mx_internal;
  10.    import mx.styles.IStyleClient;
  11.    
  12.    use namespace mx_internal;
  13.    
  14.    public class Canvas extends Container
  15.    {
  16.       mx_internal static const VERSION:String = "2.0.1.0";
  17.       
  18.       private var layoutObject:CanvasLayout;
  19.       
  20.       public function Canvas()
  21.       {
  22.          layoutObject = new CanvasLayout();
  23.          super();
  24.          layoutObject.target = this;
  25.       }
  26.       
  27.       override mx_internal function get usePadding() : Boolean
  28.       {
  29.          return false;
  30.       }
  31.       
  32.       override mx_internal function getScrollableRect() : Rectangle
  33.       {
  34.          var _loc1_:Number = NaN;
  35.          var _loc2_:Number = NaN;
  36.          var _loc3_:Number = NaN;
  37.          var _loc4_:Number = NaN;
  38.          var _loc5_:int = 0;
  39.          var _loc6_:int = 0;
  40.          var _loc7_:EdgeMetrics = null;
  41.          var _loc8_:Rectangle = null;
  42.          var _loc9_:DisplayObject = null;
  43.          var _loc10_:Number = NaN;
  44.          var _loc11_:Number = NaN;
  45.          _loc1_ = 0;
  46.          _loc2_ = 0;
  47.          _loc3_ = 0;
  48.          _loc4_ = 0;
  49.          _loc5_ = numChildren;
  50.          _loc6_ = 0;
  51.          while(_loc6_ < _loc5_)
  52.          {
  53.             _loc9_ = getChildAt(_loc6_);
  54.             _loc10_ = 0;
  55.             _loc11_ = 0;
  56.             if(!(_loc9_ is IUIComponent && !IUIComponent(_loc9_).includeInLayout))
  57.             {
  58.                _loc1_ = Math.min(_loc1_,_loc9_.x);
  59.                _loc2_ = Math.min(_loc2_,_loc9_.y);
  60.                if(_loc9_ is IStyleClient)
  61.                {
  62.                   _loc10_ = Number(IStyleClient(_loc9_).getStyle("right"));
  63.                   _loc11_ = Number(IStyleClient(_loc9_).getStyle("bottom"));
  64.                   if(isNaN(_loc10_))
  65.                   {
  66.                      _loc10_ = 0;
  67.                   }
  68.                   if(isNaN(_loc11_))
  69.                   {
  70.                      _loc11_ = 0;
  71.                   }
  72.                }
  73.                if(!isNaN(_loc9_.width))
  74.                {
  75.                   _loc3_ = Math.max(_loc3_,_loc9_.x + _loc9_.width + _loc10_);
  76.                }
  77.                if(!isNaN(_loc9_.height))
  78.                {
  79.                   _loc4_ = Math.max(_loc4_,_loc9_.y + _loc9_.height + _loc11_);
  80.                }
  81.             }
  82.             _loc6_++;
  83.          }
  84.          _loc7_ = viewMetrics;
  85.          _loc8_ = new Rectangle();
  86.          _loc8_.left = _loc1_;
  87.          _loc8_.top = _loc2_;
  88.          _loc8_.right = _loc3_;
  89.          _loc8_.bottom = _loc4_;
  90.          if(mx_internal::usePadding)
  91.          {
  92.             _loc8_.right += getStyle("paddingRight");
  93.             _loc8_.bottom += getStyle("paddingBottom");
  94.          }
  95.          return _loc8_;
  96.       }
  97.       
  98.       override protected function measure() : void
  99.       {
  100.          super.measure();
  101.          layoutObject.measure();
  102.       }
  103.       
  104.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  105.       {
  106.          super.updateDisplayList(param1,param2);
  107.          layoutObject.updateDisplayList(param1,param2);
  108.       }
  109.    }
  110. }
  111.  
  112.